package minov.parser;

import java.util.Deque;

/**
 * This class is for arguments that are only options - have no parameters.
 *
 */
public class SwitchArgument extends ArgumentObject {

   /**
    * Constructs argument that has no values.<br>
    * Example:
    * 
    * <pre>
    * switchArgument = new SwitchArgument(&quot;t&quot;, &quot;timetolive&quot;)
    * </pre>
    * 
    * @param [in] shortName
    *           argument shortcut
    * @param [in] fullName
    *           full name of argument
    */
   public SwitchArgument(String shortName, String fullName)
   {
      super();
      super.addArgumentAliases(shortName,fullName);
   }

   /**
    * Method for validation of the parsed arguments.
    * @return ValidationResult object with the result
    */
   @Override
   public ValidationResult validateArgument() {
      // SwitchArgument has none parameters => all of them are valid
      return ValidationResult.createValidResponse();
   }

   /**
    * Method for processing the parameters. Used by the parser.
    */
   @Override
   public void parseArguments(Deque<ParsedArgumentData> arguments) {
      this.setAsEntered();
   }

   
   /**
    * Resets the ArgumentObject for further use.
    */
   @Override
   public void reset() {
      super.reset();
   }
   
}
